Developers should use the FROM … OUTER JOIN
syntax rather than the Oracle join operator (`). The reason is that outer join
queries that use `
are subject to several restrictions which do not apply to the FROM … OUTER JOIN
syntax. For instance, a
WHERE
condition containing the +
operator cannot be combined with another condition using the OR
logical
operator.
Noncompliant code example
BEGIN
-- Noncompliant
SELECT *
INTO employeesArray
FROM employee, department
WHERE employee.DepartmentID = department.ID(+);
END;
/
Compliant solution
BEGIN
-- Compliant
SELECT *
INTO employeesArray
FROM employee LEFT OUTER JOIN department
ON employee.DepartmentID = department.ID;
END;
/